import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IGangFightsPrx } from "./IGangFightsPrx";
import { AMI_IGangFights_applyTeam } from "./AMI_IGangFights_applyTeam";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IGangFights_createTeam } from "./AMI_IGangFights_createTeam";
import { SEntityId } from "../Public/SEntityId";
import { AMI_IGangFights_dealApply } from "./AMI_IGangFights_dealApply";
import { AMI_IGangFights_dealInvite } from "./AMI_IGangFights_dealInvite";
import { AMI_IGangFights_disbandTeam } from "./AMI_IGangFights_disbandTeam";
import { AMI_IGangFights_enterGangFights } from "./AMI_IGangFights_enterGangFights";
import { AMI_IGangFights_enterWrestle } from "./AMI_IGangFights_enterWrestle";
import { AMI_IGangFights_getBattles } from "./AMI_IGangFights_getBattles";
import { AMI_IGangFights_getGangFightsRooms } from "./AMI_IGangFights_getGangFightsRooms";
import { AMI_IGangFights_getMyInfo } from "./AMI_IGangFights_getMyInfo";
import { AMI_IGangFights_getTeamInfo } from "./AMI_IGangFights_getTeamInfo";
import { AMI_IGangFights_getToplist } from "./AMI_IGangFights_getToplist";
import { AMI_IGangFights_getWrestleBattles } from "./AMI_IGangFights_getWrestleBattles";
import { AMI_IGangFights_getWrestleFightRecordInfos } from "./AMI_IGangFights_getWrestleFightRecordInfos";
import { AMI_IGangFights_getWrestleMyInfo } from "./AMI_IGangFights_getWrestleMyInfo";
import { AMI_IGangFights_getWrestlePlayerInfo } from "./AMI_IGangFights_getWrestlePlayerInfo";
import { AMI_IGangFights_getWrestleRooms } from "./AMI_IGangFights_getWrestleRooms";
import { AMI_IGangFights_getWrestleToplist } from "./AMI_IGangFights_getWrestleToplist";
import { AMI_IGangFights_invitePlayer } from "./AMI_IGangFights_invitePlayer";
import { AMI_IGangFights_modifyTeam } from "./AMI_IGangFights_modifyTeam";
import { AMI_IGangFights_saveWrestleFightRecord } from "./AMI_IGangFights_saveWrestleFightRecord";
import { AMI_IGangFights_signUpGangFights } from "./AMI_IGangFights_signUpGangFights";
import { AMI_IGangFights_signUpWrestle } from "./AMI_IGangFights_signUpWrestle";
import { AMI_IGangFights_sysSaveWrestleFightRecord } from "./AMI_IGangFights_sysSaveWrestleFightRecord";
import { SWrestleSaveFightRecord } from "../Public/SWrestleSaveFightRecord";
import { AMI_IGangFights_teamMemberOper } from "./AMI_IGangFights_teamMemberOper";
import { EGangFightsTeamPos } from "../Public/EGangFightsTeamPos";
type int = number;
//class IGangFightsPrxHelper
    
    export  class IGangFightsPrxHelper extends RMIProxyObject implements IGangFightsPrx
    {
        constructor()
        {
            
            super();name = "IGangFights";
            return;
        }

        public applyTeam_async(arg1: AMI_IGangFights_applyTeam, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("applyTeam");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public createTeam_async(arg1: AMI_IGangFights_createTeam, arg2: SEntityId, arg3: string, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("createTeam");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public dealApply_async(arg1: AMI_IGangFights_dealApply, arg2: SEntityId, arg3: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("dealApply");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            loc3.writeBool(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public dealInvite_async(arg1: AMI_IGangFights_dealInvite, arg2: int, arg3: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("dealInvite");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeBool(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public disbandTeam_async(arg1: AMI_IGangFights_disbandTeam): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("disbandTeam");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public enterGangFights_async(arg1: AMI_IGangFights_enterGangFights, arg2: Boolean, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("enterGangFights");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public enterWrestle_async(arg1: AMI_IGangFights_enterWrestle, arg2: Boolean, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("enterWrestle");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getBattles_async(arg1: AMI_IGangFights_getBattles): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getBattles");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getGangFightsRooms_async(arg1: AMI_IGangFights_getGangFightsRooms): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getGangFightsRooms");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyInfo_async(arg1: AMI_IGangFights_getMyInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyInfo");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getTeamInfo_async(arg1: AMI_IGangFights_getTeamInfo, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getTeamInfo");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getToplist_async(arg1: AMI_IGangFights_getToplist, arg2: int, arg3: int, arg4: int, arg5: Boolean, arg6: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getToplist");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            loc3.writeBool(arg5);
            loc3.writeBool(arg6);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getWrestleBattles_async(arg1: AMI_IGangFights_getWrestleBattles): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getWrestleBattles");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getWrestleFightRecordInfos_async(arg1: AMI_IGangFights_getWrestleFightRecordInfos, arg2: int, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getWrestleFightRecordInfos");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getWrestleMyInfo_async(arg1: AMI_IGangFights_getWrestleMyInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getWrestleMyInfo");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getWrestlePlayerInfo_async(arg1: AMI_IGangFights_getWrestlePlayerInfo, arg2: SEntityId): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getWrestlePlayerInfo");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getWrestleRooms_async(arg1: AMI_IGangFights_getWrestleRooms): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getWrestleRooms");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getWrestleToplist_async(arg1: AMI_IGangFights_getWrestleToplist, arg2: int, arg3: int, arg4: int, arg5: Boolean, arg6: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getWrestleToplist");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            loc3.writeBool(arg5);
            loc3.writeBool(arg6);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public invitePlayer_async(arg1: AMI_IGangFights_invitePlayer, arg2: SEntityId): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("invitePlayer");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public modifyTeam_async(arg1: AMI_IGangFights_modifyTeam, arg2: SEntityId, arg3: string, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("modifyTeam");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            loc3.writeString(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public saveWrestleFightRecord_async(arg1: AMI_IGangFights_saveWrestleFightRecord, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("saveWrestleFightRecord");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public signUpGangFights_async(arg1: AMI_IGangFights_signUpGangFights, arg2: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("signUpGangFights");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public signUpWrestle_async(arg1: AMI_IGangFights_signUpWrestle, arg2: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("signUpWrestle");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public sysSaveWrestleFightRecord_async(arg1: AMI_IGangFights_sysSaveWrestleFightRecord, arg2: SWrestleSaveFightRecord): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("sysSaveWrestleFightRecord");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public teamMemberOper_async(arg1: AMI_IGangFights_teamMemberOper, arg2: SEntityId, arg3: EGangFightsTeamPos): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("teamMemberOper");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            arg3.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IGangFights";
    }
